document.write(`<script src="/login/js/login.js"></script>`);


Vue.component('vote', {
    template: `
        <div>
                <div id="header" class="wrap">
                  <img src="images/logo.gif" />
               </div>
               <div id="navbar" class="wrap">
                  <div class="profile">
                    <login>  
                        <template v-slot:nologin></template>
                        <template v-slot:logined="a"> 
                            您好，{{a.myInfo.uname}}
                            <a href="myinfo.html">个人主页</a>
                            <a href="logout?toPage=/index.html">退出</a>
                        </template>
                    </login>
                  
                   
                     <span class="return"><a href="index.html">返回列表</a></span>
                     <span class="addnew"><a href="add.html">添加新投票</a></span>
                  </div>
                  <div class="search">
                     <form method="post" action="#">
                        <input type="text" v-model="keywords" class="input-text" value=""/>
                        <input @click.prevent="doFind" type="submit" name="submit" class="input-button" value="" />
                     </form>
                  </div>
               </div>
                <slot>
                    默认插槽内容
                </slot>
                 <div id="footer" class="wrap">
                     源辰信息 &copy; 版权所有
                 </div>
            
        </div>
    `,
    //vue 组件内部的data 推荐使用函数语法
    data() {
        return{
            keywords:''
        }

    },
    //$emit 发布自定义事件
    created() {
        console.info(this.$listeners)
    },
    methods: {
        doFind() {
            //this.$listeners 是 Vue.js 中一个特殊的属性，
            // 用于访问父组件传递给当前组件的所有事件监听器。
            // 当一个父组件向子组件传递事件监听器时，
            // 这些事件监听器会被存储在 this.$listeners 对象中。
            if(this.$listeners.find){
                //如果有 find 事件监听函数，则触发该事件
                this.$emit('find', this.keywords);
            }
            else{
                localStorage.setItem('keywords', this.keywords);
                location.href = '/index.html';
            }
        }
    }

})
